home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
002
/
pcvco13.arc
/
VCOLIB.DOC
< prev
next >
Wrap
Text File
|
1986-12-21
|
28KB
|
780 lines
----------------------------------
PC-VCO: IBM PC Visual Conferencing
----------------------------------
Face Library Maintenance
----------------------------------
PC-VCO is distributed freely and may be copied by anyone for any number
of machines. The author considers PC-VCO to be "shareware" or "freeware".
If the program is found to be useful or entertaining, a contribution of
$35.00 is requested. If response warrants, PC-VCO will be enhanced and
extended. The author may be reached at:
R. (Scott) McGinnis
P.O. Box 3607 Mdse Mart
Chicago, IL 60654-0607
PLINK, GEnie id: TARTAN
Version 1.3: 861222
R.McGinnis; Chicago
VCOLIB: PC-VCO Face Librarian
Version 1.3: 861222
Table of Contents
-----------------
I. Introduction ................................................. page 1
II. Running the program .......................................... page 2
III. VCOLIB Command Summary ........................................ page 3
IV. Creating a Face File .......................................... page 4
V. The Graphic Editor ............................................ page 5
VI. Sharing your Face Files ....................................... page 7
VII. Program Requirements .......................................... page 8
VIII. Program and Author Information ............................... page 9
Appendices
----------
A. Face File Contents ............................................ page 10
B. File formats .................................................. page 11
C. Harry Chesley's VCO ........................................... page 13
D. PACKIT files .................................................. page 14
E. Command examples .............................................. page 15
VCOLIB: PC-VCO Face Librarian Page 1
Version 1.3: 861222
I. Introduction
PC-VCO is a terminal program for use on IBM PCs and network con-
ferencing facilities such as People/Link's PARTY, CompuServe's CB
simulator, and Delphi's conference areas. The idea for PC-VCO was
derived from the VCO system, and its predecessor VMCO, developed
on the MacIntosh computer. The VCO programs (PC and MacIntosh)
allow you to see the people you communicate with on-line, using
the graphic capabilities of the personal computer.
VCO was originally developed by Harry Chesley. It was followed by
VMCO (which is CIS specific), written by Bob Perez independant to
the development of VCO. The current (MacIntosh) version of VCO is
almost an exact duplicate of Harry Chesley's original - the
original source code was converted by Mike Cohen and made to accept
several service formats.
The MacIntosh VCO allows the user to see the people talking on-
line through graphic Icons. These are provided to the MacIntosh VCO
through 'Resource files' and are built using a 'Resource Editor'.
A MacIntosh VCO user must have a resource file for every speaker.
Charlie Brown and Snoopy Icons are used when a speaker is unknown.
VCOLIB Version 1.3 creates and maintains a library of Icons used
by PC-VCO. Icons may be extracted from MacIntosh resource files
or may be created using a graphics editor (in VCOLIB). Icons created
on the IBM PC may be put to a resource-type file, and uploaded for
MacIntosh VCO friends.
PC-VCO/VCOLIB may be copied freely and distributed to anyone for any
machine. The author considers this to be "shareware" or "free-
ware". If the program is found to be useful or entertaining, a
contribution is asked. PC-VCO/VCOLIB will be extended and enhanced
if response warrants.
VCOLIB: PC-VCO Face Librarian Page 2
Version 1.3: 861222
II. Running the program
VCOLIB is invoked at the DOS prompt with the command:
------------------------------------------------------
"d>" VCOLIB <options>
Where "d>" is the DOS prompt, and
<options> is: (<cmd> <Lib-File> (<parm> (,<parm> ...)))
where <parm> is either an ID or a MacIntosh Face-file name,
<Lib-file> is the library file name to be used,
and <cmd> is one of: A,D,U,R,L,V, or M.
Note: Specifying no commands at all will provide an abbreviated
HELP display summarizing available commands.
------------------------------------------------------
VCOLIB commands are summarized on the next page.
VCOLIB: PC-VCO Face Librarian Page 3
Version 1.3: 861222
III. VCOLIB Command Summary.
Command Parameter Description
--------- --------- --------------------------------------------------
(A)dd Mac-File Add Mac-File(s) to Lib-File. You are given the
opportunity to rename the entry from the ID
specified in the Mac-File. You may (C)hange
or (A)ccept the ID as given. Duplicate IDs are
not allowed in the Library.
(R)eplace ID Replace an ID in Lib-File. You are prompted for
the MacIntosh face file to be used. If the face
file carries the same ID, the replace is performed
with no comment. If they differ, you are queried.
Duplicate IDs are not allowed in the Library.
(D)elete ID Delete an ID from Lib-File. The indicated entry
is marked deleted, and will be discarded upon the
next ADD.
(U)ndelete ID Mark deleted entry not deleted. If an entry
marked deleted has not been re-used, it may be
put back into service with this command.
(M)odify ID Modify ID and name of an entry. Further, any
Icon in the entry may be modified through a
simple graphics editor.
(C)opy ID Copy an entry to a new entry in Lib File. You
are prompted for an ID to name the new entry.
The new ID may not duplicate an existing ID
in the Lib-file.
(O)utput ID Build a resource file of MacIntosh compatible
format. You will be prompted for a file name.
(V)iew (ID) View the contents of Lib-File. If you specify an
ID, and it exists in Lib-file, it is displayed.
You will be prompted for other IDs in any case.
(L)ist List entries in Lib-File. Output may be re-
directed to a printer.
VCOLIB: PC-VCO Face Librarian Page 4
Version 1.3: 861222
IV. Creating a Face File
You can create a face file through the simple expedient of COPYing
a current face (naming the new entry), and then MODIFYing the new
entry. The COPY command creates a new Library entry using an
existing entry. The MODIFY command works on an existing entry,
allowing the ID, NAME, and Icons of the entry to be changed.
After the ID and NAME have been changed, you will be asked if the
Icons are to be edited. If you respond "Yes", VCOLIB will try to
switch to graphics mode (if your PC does not have a CGA, the
attempt will fail), and you will be asked which Icon is to be
modified. Select the ICON number you wish to modify.
After choosing an ICON, you will be asked which ICON to use as a
base for the edit. You may start the edit session with any of the
displayed Icons. The result of the edit will overlay the ICON you
initially selected to modify - it will not change the ICON you've
chosen as a base. Once you have specified which ICON is to be
modified, and which ICON you will use as a starting point, you
enter the graphic editor (see below: "V. The Graphic Editor").
The editor displays the ICON as it appears on the PC-VCO screen
to the right, and displays a magnified ICON (4x) with a cursor
(initially in the top left corner) to the left. Changes to pixels
are reflected in both pictures simultaneously. Cursor keys are
used to position the cursor. The INSert and DELete keys turn the
pixel at the cursor on and off.
A carriage return finishes the edit and updates the face entry.
An ESCape cancels the edit without modification to any ICONs.
Once an entry has been created in the library, it is immediately usable
by PC-VCO. When a speaker using the entry's ID is recognized, normal
expression faces are displayed (Icons 260 and 360). However, to
be seen by other VCO users, the entry must be OUTPUT to a file (on
your PC) and the file uploaded to a BBS or service (see below: "VI.
Sharing your face file").
VCOLIB: PC-VCO Face Librarian Page 5
Version 1.3: 861222
V. The Graphic Editor
You enter the graphic editor through the modify command. To enter
the graphics editor, you must answer 'yes' to the question "do you
wish to modify any ICONs, you must select an ICON to be updated,
and you must select an ICON with which to start.
The editor displays the ICON as it appears on the PC-VCO screen
to the right, and displays a magnified ICON (4x) with a cursor
(initially in the top left corner) to the left. Changes to pixels
are reflected in both pictures simultaneously.
In the graphics editor, the following keys are active:
Home This key positions the cursor to the top left corner.
If the PEN is on, the point at the cursor will change.
End This key positions the cursor to the bottom left corner.
If the PEN is on, the point at the cursor will change.
PgDn This key positions the cursor to the bottom right corner.
If the PEN is on, the point at the cursor will change.
PgUp This key positions the cursor to the top right corner.
If the PEN is on, the point at the cursor will change.
Cursor up This key moves the cursor up one point. At the top of
the display, the cursor will wrap to the bottom. If
the PEN is on, the point at the new cursor will change.
Cursor left This key moves the cursor left one point. At the side
of the display, the cursor will wrap oppositely. If
the PEN is on, the point at the new cursor will change.
Cursor down This key moves the cursor down one point. At the bottom
the display, the cursor will wrap to the top. If the
PEN is on, the point at the new cursor will change.
Cursor right This key moves the cursor right one point. At the side
of the display, the cursor will wrap oppositely. If
the PEN is on, the point at the new cursor will change.
VCOLIB: PC-VCO Face Librarian Page 6
Version 1.3: 861222
V. The Graphic Editor (continued)
Active keys in the graphic editor (continued)...
Ins This key turns the point at the cursor off (dark).
Del This key turns the point at the cursor on (light).
Alt-C This key clears all points in the ICON (sets all dark).
Alt-S This key sets all points on (sets all light).
Alt-R This key reverses all points in the image.
Alt-P This key turns the PEN on and off. When the PEN is on,
a message is displayed at the top of the screen. PEN
drawing is very convenient in may cases.
Esc This key cancels any changes and returns you to the
view screen. No changes will be made to any ICONs.
<return> This key terminates the graphic editor and modifies the
ICON you selected with your changes.
The graphic editor uses the method called 'fatbits'. The ICON is dis-
played in its correct size, and also magnified 4 times. Magnification
allows a cursor to be displayed within the picture.
Most ICONs used in VCO have a light background with dark points out-
lining or shading the drawing. Alt-S allows you to make a blank canvas
on which to draw. Once you've drawn your first ICON, you can copy it
over top of all the rest, and then make changes to each as appropriate.
It may seem intimidating at first to have to create 18 images (9 for
the seated display, and 9 for the speaker's box). However, it turns
out to be considerably more simple than it appears, especially if you
start out with someone else's ICONs that are similar to the set you
visualize for yourself.
In any case, you can always 'Esc' cancel the editor and make no changes.
You have an opportunity to experiment, and throw away the result if you
don't like it. So... have at it!
VCOLIB: PC-VCO Face Librarian Page 7
Version 1.3: 861222
VI. Sharing your Face File
In order for other VCO/PC-VCO users to see your face, you must
share your face file. VCOLIB will OUTPUT a library entry to a
MacIntosh type resource file. This file may be uploaded to a
BBS or service. Other VCO/PC-VCO users then download the file
and add it to their library.
Please note that when you OUTPUT a face to a file for uploading,
each system to which you wish to upload has differing requirements.
VCOLIB will query the target system, and prepare the file accordingly.
You cannot upload a file prepared for CIS to GEnie, for example, and
expect GEnie users to be able to use the file. If you use several
systems, you must prepare a different face file for each.
Included with this distribution of PC-VCO are 6 face files (in
the library file PC-VCO.FLB). You may see the entries in this
library with the command:
"d>" VCOLIB V PC-VCO.FLB
Kelly, Mike, Bob, and OZMA have all shared VCO with me during
the development of this program. Their faces are included.
The entry PC-VCO-DEFAULT is the Charlie Brown entry used for IDs
not contained in the library. I am TARTAN.
One note - Some VCO/VMCO users pack resource files together in
a single file and upload the one file. This version of VCOLIB
does not accept a Packit format face library. Each resource
file must be extracted from a Packit format file (on a MacIntosh,
or with the utility 'unPACKIT' released separately) and then
entered in to the PC-VCO face Library.
VCOLIB: PC-VCO Face Librarian Page 8
Version 1.3: 861222
VIII. Program Requirements
This program can only function on an IBM PC or DOS compatible machine.
The MODIFY and VIEW commands require a color graphics display adapter.
Although an EGA would provide a more close resemblance to the MacIntosh
environment, no use of the EGA is planned at this time.
VCOLIB does direct to screen buffer fetches and stores - so compati-
bility is an important issue. VCOLIB disk I/O is done through the
'Handle' oriented I/O routines added with DOS 2.0. Therefore DOS
2.0 is also a requirement.
The current version's memory requirements are modest. Each Icon uses
128 bytes. Each ID can have 18 Icons (two for each expression - one
for display and another for speaking). VCOLIB will run in 64K.
VCOLIB: PC-VCO Face Librarian Page 9
Version 1.3: 861222
VIII. Program and Author Information
This program was written using Microsoft Macro-Assembler. The author
likes assembler. Assembly language is an entirely appropriate vehicle
for some of the program, and a not-inappropriate vehicle for the rest
of it.
VCOLIB and PC-VCO were written by R. Scott McGinnis of Chicago,
Illinois. My ID on PLINK and on GEnie is TARTAN. Comment and
suggestions are welcomed.
R. (Scott) McGinnis
P.O. Box 3607 Mdse Mart
Chicago, IL 60654-0607
Credit for information on the VCO must be given to Kelly Major and
Mike Cohen. Both Kelly and Mike worked to make PC-VCO possible.
I must also thank my wife, Elizabeth, who allowed me to isolate
myself (literally) for 5 months to write this, and who further read
me hex dumps while I entered code.
VCOLIB (Version 1.3) may be distributed freely, with the caveat
that the Author information displayed at program termination is
not removed. If you find PC-VCO useful or entertaining, a contrib-
ution is requested. Should response warrant it, I will continue to
support this product.
Most of the hardware names and software names in this document are
trademarks or trade names of specific manufacturers.
VCOLIB: PC-VCO Face Librarian Page 10
Version 1.3: 861222 Appendices
A. Face File Contents
VCOLIB maintains a Library of faces, each face associated with an
ID. The Library may include up to 100 face entries. Each entry
contains:
. The ID associated with the face(s)
. The personal name of the individual (optional and unused by
both MacIntosh VCO and PC-VCO); Field STR1000
. The speaking rate (words per minute) - unused by the current
speech driver; Field STR 600
. The speaking pitch (frequency) - unused by the current speech
driver; FIeld STR 610
. Faces. Nine expressions are defined, each with two modes:
Display, and speaking. Using MacIntosh terminology, these are:
Expression Face Icon Speaking Icon
-------------- ----------- -------------
Normal 260 360
Grin 261 361
Laughing 262 362
Surprised 263 363
Anger 264 364
Zzzzzz 265 365
Sad 266 366
Away from CRT 267 367
Question 268 368
PC-VCO reserves the ID "PC-VCO-DEFAULT" for itself, to be used for
faces displayed when the ID is unknown. The current distribution
contains Charlie Brown and Snoopy Icons for this ID. If the entry
is marked deleted, PC-VCO will revert to text Icons for unknown IDs.
If the entry is marked deleted, and subsequent ADDs are performed,
the entry will be lost.
A second face-set has been provided with this version of VCOLIB and
PC-VCO. It has been ID'd 'ANOTHER-DEFAULT' in the library. You may
view the entry with the command:
'd>' VCOLIB V PC-VCO.FLB ANOTHER-DEFAULT
This face-set was created by Howard Hoffman. It makes an interesting
contrast to the Charlie Brown faces. By renaming 'PC-VCO-DEFAULT'
to, say 'OLD-DEFAULT', and renaming 'ANOTHER-DEFAULT' to become
'PC-VCO-DEFAULT', PC-VCO will use it for unknown faces.
VCOLIB: PC-VCO Face Librarian Page 11
Version 1.3: 861222 Appendices
B. File formats
Library file structure.
Version 1.0 of VCOLIB uses a very simple structure for the
LIB file. The structure consists of a preamble, followed
by fixed length slots - each slot representing one 'face'.
------ Preamble format --------------------------------------------
Byte 0 1 2 3 4 5 6 7 8
+------+------+------+------+------+------+------+------+->
! "V" ! "C" ! "O" ! "L" ! "I" ! "B" ! Ver ! Rev !
+------+------+------+------+------+------+------+------+->
Byte 8 9 10 11 12 13 14 15 16
>-+------+------+------+------+------+------+------+------+
! Yr lsb-msb ! Da ! Mo ! Mi ! Hr ! 100th! Sec !
>-+------+------+------+------+------+------+------+------+
Byte 17 18 19 20 21 22
>-+------+------+------+------+------+
! IDln ! NmLn ! ICLn ! Max ! Cnt !
>-+------+------+------+------+------+
Where: Ver -------> Creating program version # (ASCII)
Rev -------> Creating program revision # (ASCII)
Yr --------> Year # (Stored lsb/msb)
Mo --------> Month # (1-12); note reversal
Da --------> Day # (1-31); note reversal
Hr --------> Hour # (0-23); note reversal
Mi --------> Minute # (0-59); note reversal
Sec -------> Second # (0-59); note reversal
100th -----> 1/100 count; note reversal
IDLn ------> Maximum length in bytes of ID field
NmLn ------> Maximum length in bytes of Name field
ICLn ------> Size in bytes of each ICON field
Max -------> Max size of Library (in slots)
Cnt -------> Current count of lib slots
VCOLIB: PC-VCO Face Librarian Page 12
Version 1.3: 861222 Appendices
B. File formats (continued)
Library file structure (continued)
------ Face slot format -------------------------------------------
Each slot of the library represents one face. The structure
declared below controls the format of the slot. The fields
are laid out and used as follows:
Byte 0 20 21 41 42 43
+-----/ /-----+------+-----/ /-----+------+------+->
! ID ! Del ! Name ! Rate !
+-----/ /-----+------+-----/ /-----+------+------+->
Byte 43 44 45 63 191 319
>-+------+------+-----/ /-----+-----/ /-----+------+------+->
! Pitch ! ICON Map ! ICON_260 ! ICON_261 !
>-+------+------+-----/ /-----+-----/ /-----+------+------+->
Byte ... 1215 1343 3239 3367
>-+------+-----/ /-----+-----/ /-----+------+------+
! ... ! ICON_360 ! ... ! ICON_368 !
>-+------+-----/ /-----+-----/ /-----+------+------+
ID -----------> This field represents the ID for the face.
Del ----------> This field, of not zero, indicates unused slot.
Name ---------> This field carries a name for the face.
Rate ---------> This field carries a 16 bit rate for speaking (WPM)
Pitch --------> This field carries a 16 bit pitch for speaking (CPS)
ICON_Map -----> This set of flags indicates whether or not certain
faces in the arrays below have been filled in.
0 => ICON not present. 18 bytes, one per ICON.
ICON_260/268 -> These bitmaps are the 9 ICONs for display (4x32)
ICON_360/368 -> These bitmaps are the 9 ICONs for speaking (4x32)
VCOLIB: PC-VCO Face Librarian Page 13
Version 1.3: 861222 Appendices
C. Harry Chesley's VCO
This version of PC-VCO was written to be compatible with Mike Cohen's
MacIntosh VCO as used on PLINK. Mike derived his VCO from Harry
Chesley's original work. The ICON numbers used by both Harry and
Mike overlap. The string fields (NAME, RATE, and PITCH) are different.
You may add files created for either VCO to PC-VCO's face library.
If the input is from a file created for Harry Chesley's VCO, certain
changes must be made. These can be accomplished with the MODIFY
command, and are:
. The personal name of the individual (optional and unused by
both MacIntosh VCO and PC-VCO); This field is not normally carried
by files created for Harry Chesley's VCO. It may be added with
the MODIFY command.
. The speaking rate (words per minute) and pitch (frequency). These
fields are carried by files created for Harry Chesley's VCO, but with
different IDs. The IDs are STR 256 and STR 257, respectively, for
Harry Chesley's VCO. VCOLIB will ignore the fields. They may be
set with the MODIFY command. However, PC-VCO doesn't use them.
. Faces. Eight expressions are defined, each with two modes:
Display, and speaking. Using MacIntosh terminology, these are:
Mike Cohen's VCO Harry Chesley's VCO
-------------------------- --------------------------
Expression Face Icon Speaking Icon Face Icon Speaking Icon
-------------- ----------- ------------- ----------- -------------
Normal 260 360 260 360
Grin 261 361 <none> <none>
Laughing 262 362 261 361
Surprised 263 363 265 365
Anger 264 364 263 363
Zzzzzz 265 365 264 364
Sad 266 366 262 362
Away from CRT 267 367 267 367
Question 268 368 266 366
ICONs added from a file created for Harry Chesley's VCO are auto-
matically moved around to match the enumeration given above for Mike
Cohen's VCO. There is no differentiation in Harry Chesley's VCO
between 'grin' and 'laughing'... so 'happy' is replicated for both.
VCOLIB: PC-VCO Face Librarian Page 14
Version 1.3: 861222 Appendices
D. PACKIT files
MacIntosh users often pack multiple files into a single file for
efficiency and data compression. PACKIT files cannot be accepted
by VCOLIB. When VCOLIB was written, the format for a PACKIT
archive (file.PIT) was not available to me. It is now.
A utility program has been released separately to deal with packed
files. The program is named unPACKIT, and will unpack files that
have been packed by PACKIT versions I, II and III (though it will
not decode encoded PACKIT III files). PIT files may be obtained from
the several services, unpacked, and the unpacked contents added into
PC-VCO's face library.
unPACKIT was released separately. However, I consider it a part of
the PC-VCO package. If you have subscribed to PC-VCO, consider it
free for your use. If you haven't subscribed to PC-VCO, and have
use for unPACKIT, I've asked for a separate subscription.
VCOLIB: PC-VCO Face Librarian Page 15
Version 1.3: 861222 Appendices
E. Command Examples
To obtain a quick overview (a help display, if you wish), enter:
VCOLIB
(The following examples assume that the face library you wish to
employ is PC-VCO.FLB. VCOLIB will work on any face library.)
To List library entries, enter:
VCOLIB L PC-VCO.FLB -or- VCOLIB > PRN L PC-VCO.FLB
To view the library entry for the ID "TARTAN", enter
VCOLIB V PC-VCO.FLB TARTAN
To add an entry to the library from a file you've downloaded, enter:
VCOLIB A PC-VCO.FLB <file>
where <file> is the name you gave to the file you downloaded.
PC-VCO will tell you the ID represented by the file, and ask
for approval to update the file. If the ID already exists in
your library, you will have the opportunity to change the (new)
ID, or to replace the existing entry.
To delete the entry for TARTAN in the library, enter:
VCOLIB D PC-VCO.FLB TARTAN
if you list the library now, the entry will appear, but
be marked 'deleted'.
To undelete the entry for TARTAN in the library, enter:
VCOLIB U PC-VCO.FLB TARTAN
note that you can recover an entry you've deleted immediately
after you delete it. The first (A)dd, (R)eplace, or (C)opy
performed after the delete will use the deleted entry's space.
After that, the entry can no longer be recovered.
To copy an entry in the library to a new entry, enter:
VCOLIB C PC-VCO.FLB <ID>
where <ID> is the entry you want to copy. A new entry will be
created, and you will be asked for a (new) ID for the entry.
VCOLIB: PC-VCO Face Librarian Page 16
Version 1.3: 861222 Appendices
E. Command Examples (continued)
To modify an entry in the library, enter:
VCOLIB M PC-VCO.FLB <ID>
where <ID> is the entry you want to modify. Normally, you would
copy an entry and modify the copy. (M)odify allows you to change
the ID for an entry, the NAME (which PC-VCO doesn't use), and to
edit the ICONs.
To generate a file (for uploading) from the library, enter:
VCOLIB O PC-VCO.FLB <ID>
where <ID> is the entry you want to output. You will be asked
for a file name to be used, and the system to which the file will
be uploaded. VCOLIB will create (or replace, if the file already
exists) a file that you can then upload for other VCO users...
both PC and MacIntosh.